package Narrativa;

import java.util.InputMismatchException;
import java.util.Scanner;


public class EntradaDeDados {

    private Scanner entradaDeDados;

    public EntradaDeDados() {
        this.entradaDeDados = new Scanner(System.in);
    }

    /**
     * Método responsável pela entrada de dados do tipo texto
     *
     * @return
     */
    public String lerTexto() {
        try {
            String dado = this.entradaDeDados.nextLine();
            if (dado.trim().equals("") == true) {
                throw new IllegalArgumentException();
            } else {
                return dado;
            }
        } catch (IllegalArgumentException erro) {
            System.err.println("Entrada inválida, por favor usuário digite um campo texto válido...");
            System.exit(0);
            return null;
        }

    }

    /**
     * Encerra aplicação quando uma entrada é inválida
     */
    public void entradaInválida() {
        System.err.println("Entrada de dados inválida...Game Over!!!");
        System.exit(0);
    }

    /**
     * Método responsável pela entrada de dados do tipo inteira
     *
     * @return
     */
    public int lerInteiro() {
        try {
            int dado = this.entradaDeDados.nextInt();
            return dado;
        } catch (InputMismatchException erro) {
            System.err.println("Entrada inválida, por favor usuário digite apenas números em campos numéricos!");
            System.exit(0);
            return 0;
        }
    }
}